home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 029a / helppc.zip / HELPPC.DOC < prev    next >
Text File  |  1990-11-27  |  20KB  |  425 lines

  1. HelpPC 2.0       PC Programmers Utility      Copyright (c) 1990, David Jurgens
  2.  
  3. Audience
  4. ========
  5.  
  6. This program is designed for the intermediate to advanced PC programmer
  7. who knows what he's doing, but just can't remember specific information
  8. necessary to program advanced features of the PC or PS/2.  This utility
  9. is comprised of a collection of information found in manufacturer
  10. technical reference manuals, various commercial books, technical topics
  11. discussed on CompuServe's technical forums, public domain articles and
  12. my own snooping, all organized in a single database.  The help topics
  13. include BIOS interrupts, DOS interrupts and functions, EMS and Mouse
  14. functions, BIOS and DOS data structures, diagnostic codes, DOS commands,
  15. 80x86 assembler instructions/directives, Standard C functions and
  16. various hardware specifications.
  17.  
  18.  
  19.  
  20. Installation
  21. ============
  22.  
  23. This utility requires the following:
  24.  
  25.     DOS 2.0 or greater
  26.     64K of free RAM
  27.     a hard disk system is recommended
  28.     
  29. Installation involves two steps.  First, simply dearchive the HelpPC.EXE
  30. file (may be HelpPC.ZIP or HelpPC.ARC).  Second, issue the following
  31. command: 
  32.  
  33. SET HLP=d:dirname           (no blanks, except between "SET HLP")
  34.  
  35. Where 'd:' is the drive and 'dirname' is the directory where the help .TXT
  36. files exist (this should be fully qualified, with or without the trailing
  37. '\').  The HelpPC.COM file can exist anywhere that it can be accessed
  38. through the DOS command search path (PATH).  The "SET HLP=" command
  39. should be placed in the AUTOEXEC.BAT file to allow access to HelpPC each
  40. time your machine is restarted.
  41.  
  42. As an example, if the files HelpPC.NDX and the .TXT files reside in
  43. a directory named  C:\HELPINFO  then use:
  44.  
  45.          SET HLP=C:\HELPINFO  
  46.               or
  47.          SET HLP=C:\HELPINFO\
  48.  
  49.  
  50. The name HelpPC was chosen to avoid conflict with the HELP command
  51. available with some OEM versions of DOS.  I'd recommend that you
  52. rename HelpPC.COM to a name you find convenient and easy to remember
  53. like "H.COM", "HELP.COM" or "INFO.COM".
  54. HelpPC 2.0       PC Programmers Utility      Copyright (c) 1990, David Jurgens
  55.  
  56. Background
  57. ==========
  58.  
  59. As programmers, we tend to gather massive amounts of books, journals
  60. and magazines.  Each of these items have some important detail that
  61. is generally out of our reach since we can't carry them with us
  62. everywhere we go.  That's why I started this project, to free myself
  63. from having to first find the manuals or articles and then weed through
  64. all the mundane text to get to an exact answer.  In the past few years
  65. it has saved me a lot of time previously spent rummaging through manuals.
  66.  
  67. HelpPC initially began somewhere around 1985 when I decided that
  68. I spent way too much time searching for the same information over
  69. and over again.  At that time my primary references were David
  70. Wilson's BIOS & DOS quick reference cards and Peter Norton's
  71. "Programmers Guide to the IBM PC".   I generated an indexed help
  72. file from David Wilson's original work and slowly added information
  73. to each topic.   The result of several years work is no longer a
  74. duplicate of David's fine work but a complete database of PC
  75. technical topics.  Each time I had to look up a new PC related
  76. topic, I made a note that it should be added to the database.  As
  77. time passed the database grew more and more complete and I found
  78. little need to look to other sources for information.  I then began
  79. adding information people were requesting in messages on CompuServe's
  80. IBMPRO, BPROGB, MSSYS (now MSLANG and MSOPSYS), CLMFORUM and IBMCOM
  81. forums.   The database is forever growing with each new feature and
  82. specification made available.
  83.  
  84. All information included within HelpPC has been confirmed against
  85. available sources.  The comparison of information usually progressed
  86. along the same paths.  Initially Norton's "Programmers Guide to the
  87. IBMPC" and Duncan's "Advanced MS-DOS" were the two sources I turned
  88. to for verification.  Later I began using Dettemann and Kyle's "DOS
  89. Programmers Reference", Thom Hogan's "The Programmers PC Sourcebook",
  90. and the "MS-DOS Encyclopedia".   When something wasn't covered well
  91. in any of these references or there was a discrepancy, I turned to
  92. the "IBM PC/XT Technical Reference Manual" , the "IBM PC/AT Technical
  93. Reference Manual" and the "DOS Technical Reference Manual".   All
  94. hardware specific information is verified with the respective vendor's
  95. technical specification manuals.
  96.  
  97. Credit is given to the sources if any of their data is included
  98. in HelpPC.  One note I should make clear is that the information
  99. on many of the topics appears as if it were straight out of Norton,
  100. Duncan, Dettemann or from Ralf Brown.  These and many other sources
  101. were referenced but none of the material is plagiarized and any
  102. similarity is due to the nature of the material.  If you compare
  103. any of the aforementioned references, they all contain approximately
  104. the same data in very similar formats.
  105.  
  106. The main program is a quick reference utility that allows quick
  107. viewing of the help database from the DOS command line.  The program,
  108. which is less than 9K in size, is written in C with a little assembler
  109. sprinkled in for speed/size optimization.  A 43 and 50 line mode is
  110. supported for those that like to squint.   A TSR version is available
  111. which has several enhancements over the command line version, including
  112. dual monitor support and context sensitive help (see below for more
  113. information).
  114. HelpPC 2.0       PC Programmers Utility      Copyright (c) 1990, David Jurgens
  115.  
  116. Future plans for HelpPC include NetBIOS interface information, more
  117. hardware information, dBASE programming topics, Pascal Topics and
  118. completion/separation of C topics between ANSI, Turbo C and Microsoft C.
  119. A DOS command database is available but not included due to space
  120. restrictions.
  121.  
  122.  
  123.  
  124. Usage
  125. =====
  126.  
  127. HelpPC has three modes of operation.  At first the most useful will be
  128. the menu driven interface that allows you to point and shoot at your topic.
  129. Entering HelpPC without a command line puts you in menu mode.  The second
  130. mode is the command line mode which allows you to specify the text to
  131. search for on the command line.   The third mode is available from either
  132. of the two other modes and prompts you for information.  Prompted mode
  133. becomes the default after using the command line mode.   To switch between
  134. prompted mode and menu mode, use the F1 key.
  135.  
  136. Also included are two command files INDEXHLP.COM and BUILD.BAT.
  137. INDEXHLP.COM is the file index utility.   Usage is very simple; you just
  138. include the files you plan to index on the command line.  Issuing the
  139. INDEXHLP command gives instructions on usage.  BUILD.BAT is a batch file
  140. provided to simplify using INDEXHLP.  It indexes the default databases
  141. in the distribution and allows you to specify your own additional
  142. databases.   BUILD without parameters indexes the default databases.
  143. If any file names are supplied, they are also indexed.
  144.  
  145. If the HelpPC program is used in a batch file, the parameters to it
  146. must not be variable parameters (%0..%9).  This is because when DOS
  147. parses the batch file parameters, it strips out commas.   Commas are
  148. valid in topics and if removed by the parser will change the command
  149. line presented to HelpPC.  This usually results in the "Topic not
  150. found in index" message.
  151.  
  152.  
  153. Keys used in navigating through HelpPC
  154. ======================================
  155.  
  156. Esc      Exit current screen or HelpPC  (Tilde also works as Esc)
  157. End      Moves text or menu to the last line/item
  158. Home     Moves text or menu to the first line/item
  159. PgUp     Moves text or menu to page top or previous page
  160. PgDn     Moves text or menu to page bottom or next page
  161. F1       Switches from menu to prompting mode and vice versa
  162. Alt-P    Write current topic to printer.  HelpPC has builtin error
  163.          detection for normal printers but if LPT1 is redirected to a
  164.          serial printer the system may hang until the printer is ready.
  165.          This is a very common, though undesirable behavior among printers.
  166. Alt-W    Write text to file HelpPC.DAT in the current directory
  167. Alt-X    Exit HelpPC and without clearing current screen
  168.  
  169. HelpPC 2.0       PC Programmers Utility      Copyright (c) 1990, David Jurgens
  170.  
  171. 43/50 Line users
  172. ================
  173.  
  174. Some versions of DOS and ANSI.SYS replacements do not handle 43/50
  175. line mode correctly.  If the bottom half of the display does not
  176. scroll correctly in 43/50 line mode, either upgrade to a newer DOS
  177. or set 43/50 line mode through a program like NANSI.SYS.  This is a
  178. problem in some DOS's and not HelpPC.
  179.  
  180.  
  181.  
  182. TSR Version
  183. ===========
  184.  
  185. A TSR version is available to those that register HelpPC.  It is not
  186. included in the default distribution.   The TSR version is very capable
  187. and was designed for both the high level programmer and the beginner.
  188. The following is a list of features it includes:
  189.  
  190.  
  191. 1.  Supports single or dual monitor systems.  On dual monitor systems
  192.     (Color and Monochrome) you can get popup help on the alternate
  193.     monitor without disturbing your current screen.
  194. 2.  Supports context sensitive help so you can position your cursor on a
  195.     text item and HelpPC will popup with information on the topic if
  196.     available.  This is very useful when editing source code and you need
  197.     to know how to use a function or command.  An example would be while
  198.     editing an assembler file, you need to know what flags are affected
  199.     by an "ADC" instruction.   You just position your cursor on the "ADC"
  200.     instruction and press the hot keys.  Help information for the "ADC"
  201.     instruction will appear.
  202. 3.  Supports alternate popup key sequences to avoid conflict with other TSR's
  203.     and buggy keyboard BIOS's.
  204. 4.  Has a similar interface to the command line version but with options to
  205.     customize the behavior during popup.
  206. 5.  Supports TSR unload to free existing RAM.
  207. 6.  Compatible with several programmers editors including Brief, Epsilon,
  208.     Norton, Qedit, Fastwrite and dBASE III.  Others should be compatible
  209.     but haven't been tested.  (Epsilon requires enabling a popup hotkey).
  210. 7.  Supports command line options to control the behavior when the TSR
  211.     pops up.  An example would be whether to popup in menu or prompted
  212.     mode or to disable context sensitive help.
  213.  
  214. Memory usage varies depending on the databases in use.  The minimum amount
  215. used is 28K which allows 1436 topics.
  216. HelpPC 2.0       PC Programmers Utility      Copyright (c) 1990, David Jurgens
  217.  
  218. Files in the default release of HelpPC
  219. ======================================
  220.  
  221. BUILD.BAT     -  A batch file that uses INDEXHLP to rebuild the help index.
  222.                  This is the simplest way to rebuild the databases.
  223. HELPPC.DOC    -  The file you're reading now.
  224. HELPPC.COM    -  A display utility that reads the index and databases
  225.                  and displays the information.  I recommend that you
  226.                  rename this program to something you find convenient
  227.                  to use like "H.COM", "HELP.COM" or "INFO.COM".  I prefer
  228.                  "HELP.COM", which conflicts with the DOS HELP command
  229.                  that is supplied with some OEM versions of MS DOS.
  230. INDEXHLP.COM  -  The help file index utility.  Type INDEXHLP for information
  231.                  on usage.
  232. HELPPC.NDX    -  The data index.  Contains index information on data in
  233.                  each of the .TXT files.  HelpPC finds this file through
  234.                  the environment variable "HLP".
  235. README        -  A brief description of how to get started.
  236. REGISTER.FRM  -  A registration form.
  237.  
  238.  
  239. Data Files:
  240.  
  241. *.TXT         -  The forever growing database files containing all of the
  242.                  technical data.  These are standard ASCII text files
  243.                  with each line ending in a CR/LF.  HelpPC finds these
  244.                  files through the environment variable "HLP".
  245. ASM.TXT       -  Assembler programming topics
  246. C.TXT         -  ANSI, Microsoft and Turbo C functions and programming
  247.                  topics.   This may be split into C.TXT, MSC.TXT and TC.TXT
  248.                  in future releases of HelpPC.
  249. HARDWARE.TXT  -  Hardware relative programming topics.
  250. INTERRUP.TXT  -  Documented and undocumented interrupts.
  251. MISC.TXT      -  Miscellaneous topics that have no logical grouping
  252. TABLES.TXT    -  Tables, structures and formats of BIOS, DOS and other
  253.                  programming related tabular information.
  254.  
  255.  
  256.  
  257. Version News
  258. ============
  259.  
  260. 2.0  Added menus and file indexer;  first shareware release.
  261. 1.51 Added partial pattern matching for topic searches.
  262. 1.5  A minor bug in the 43/50 line mode of version 1.4 has been fixed.
  263.      Over 900 topics are now included.
  264. 1.4  The user interface has been changed from page mode scrolling to line
  265.      mode scrolling.  43/50 line support has been added as well.
  266.      The instruction set for the entire Intel 80x86 family has been added
  267.      to the database.  This version saw limited distribution.
  268. 1.2  EMS and Mouse functions were added to the database.  Over 750 topics
  269.      were included.  (limited distribution)
  270. 1.1  Maintenance release of the database.  Several topics were added
  271.      and existing ones were cleaned up.
  272. 1.0  Original release.
  273. HelpPC 2.0       PC Programmers Utility      Copyright (c) 1990, David Jurgens
  274.  
  275. Creating your own help files
  276. ============================
  277.  
  278. HelpPC in its standard form can handle 2000 indexed topics and 16
  279. independent help files.  If you find you need a larger capacity, please
  280. contact me at one of the addresses below.  Each file must have its own
  281. title which will show up in the main menu.  Each topic following the
  282. file title (see below) will show up in the subtopic menu.  Also note
  283. that HelpPC will adjust the menu format based on the screen height and
  284. the number of items in the main menu.
  285.  
  286. HelpPC text files are simple ASCII files that contain control codes in
  287. column one.   Each file must contain a title in the first line.  The
  288. remainder of the file consists of keyed lines and help text.  Each line
  289. must end with a CR/LF pair (standard DOS format) and shouldn't be longer
  290. than 70 characters.   Tabs are treated as physical data and are not
  291. handled logically.  The following is a list of keys:
  292.  
  293.  '@'  in column 1 indicates a file title which will appear in
  294.       the main topic menu.  This must be the very first line
  295.       in the file and has a maximum length of 40 characters
  296.       (excluding the '@').
  297.  ':'  in column 1 indicates a subtopic key.  Multiple keys separated
  298.       by colons ':' can be entered on the same line.
  299.  '#'  in column 1 indicates a highlighted title line (not centered)
  300.  '^'  in column 1 indicates a centered highlighted title
  301.  '<'  text that should not be shifted right
  302.  ' '  in column 1 indicates a text line.  Text lines are shift
  303.       right 7 characters when displayed.
  304.  
  305.  any other character in column 1 is invalid
  306.  
  307. Use the BUILD command to index/reindex the default help text files.
  308. To add your own files to the index use the command:
  309.  
  310.      BUILD [fname [file2 ...]]
  311.  
  312. This information is available in HelpPC with the topic "HELPPC FORMAT".
  313.  
  314.  
  315.  
  316. Limits of the HelpPC program
  317. ============================
  318.  
  319. Max items in main topic menu:          16
  320. Max items in subtopic menu:           512
  321. Max topics in index:                 2000
  322. Max size of topic text:             16384 bytes
  323. Max lines of text per topic:          512
  324. Max topic key length:                  20
  325. Max file title length:                 40
  326. No limit on file size
  327. HelpPC 2.0       PC Programmers Utility      Copyright (c) 1990, David Jurgens
  328.  
  329. Registration
  330. ============
  331.  
  332. This software is shareware and requires registration if you find it of
  333. some value and continue to use it after the 30 day trial.  Registration
  334. costs $25 in the United States ($30 otherwise) and places you on the
  335. update mailing list and will provide you with the latest version of
  336. the program and the databases.  As an added bonus those that register
  337. will receive the TSR version and other databases not included in the
  338. default distribution.  For more information on the TSR version, see the
  339. information above.  Registration also provides me with the resources to
  340. continue work on HelpPC.  A registration form is included in the file
  341. REGISTER.FRM.
  342.  
  343. This registration fee is not necessary for those that have registered
  344. previous versions of HelpPC or for copies to be used on PC's owned by
  345. CompuServe Incorporated.
  346.  
  347.  
  348.  
  349. Thanks to the following:
  350. ========================
  351.  
  352. David Wilson of IBM for his BIOS/DOS reference cards which gave me the
  353. idea that started all of this.  Jeff Miller of CompuServe for supporting
  354. the project and providing helpful feedback.  Mark Grim for entering some
  355. of the text.  Phil George and Ted Stephens for supporting and testing
  356. throughout the project cycle.  Dave Drown, Jerry Gibson, Charles Lazo III,
  357. Jim Milligan, David Wilson (of CCS) and Ali Vardag for testing and/or
  358. providing feedback.  Ray Duncan, Chris Dunford, Richard K. Herzog, Jim Kyle,
  359. Micheal Mohle, Chip Rabinowitz and Barry Simon for sharing their vast
  360. knowledge with the rest of us on CompuServe.  Ralf Brown for maintaining
  361. "the" interrupt lists.   Brett Salter and The Periscope Company for the
  362. awesome Periscope debugger which was the main bug buster used in writing
  363. HelpPC.
  364.  
  365. Thanks to the following authors for writing such great books which HelpPC
  366. relied upon for verification:
  367.  
  368.   "DOS Programmer's Reference", 2nd Edition by Terry Dettemann and Jim Kyle
  369.   "Advanced MS DOS" by Ray Duncan
  370.   "Programmer's PC Sourcebook" by Thom Hogan
  371.   "Programmer's Guide to the IBM PC" by Peter Norton
  372.   "Programmer's Guide to PC & PS/2 Video Systems" by Richard Wilton
  373. HelpPC 2.0       PC Programmers Utility      Copyright (c) 1990, David Jurgens
  374.  
  375. In Closing
  376. ==========
  377.  
  378. Use it, try to break it or just tell me what you did or didn't like about
  379. it or what you'd like to see added.  If you find any discrepancies, errors
  380. or typos, I would appreciate corrections and any suggestions for improvement.
  381. Additions to the help files are welcome and can be submitted to me via any
  382. of the following addresses.   If the information you provide is used in
  383. HelpPC, you will be given credit for the work.  If at all possible, please
  384. contact me using one of the below addresses and I will try to correct the
  385. problem.
  386.  
  387. Please share this program with your friends; but please, if you do redistribute
  388. this, please distribute it in its original .ARC, .ZIP or LHARC form, without
  389. modification.   If you think it's a worthwhile program, please register.  Your
  390. registrations will allow me to continue work on HelpPC.
  391.  
  392.  
  393.  
  394. I can be reached at any of the following addresses:
  395.  
  396.  
  397. US Snail:       David Jurgens
  398.                 1550 Alton Darby Creek Road
  399.                 Columbus, Ohio  43228
  400.  
  401. CompuServe:     70004,30     (read daily)
  402.                 71270,2422   (read weekly)
  403.  
  404.  
  405.  
  406. Disclaimer
  407. ==========
  408.  
  409. The program contained herein, in its original form, is designed to work
  410. with PC's which are completely IBM DOS and IBM BIOS compatible and has
  411. been tested on a myriad of PC's and compatibles.  The information
  412. contained within the help databases is correct to the best of my knowledge
  413. and ability.  Since it was compiled from various sources, some in complete
  414. disagreement and some continually changing specifications, I cannot be
  415. responsible for omissions, inaccuracies or plain errors of any type.
  416.  
  417. I make no claims to value of the enclosed programs or files, or their
  418. behavior and assume no liability for damages either from the direct use
  419. of this product or as a consequence of the use/misuse of this product.
  420. Hence this program and all information contained within SHOULD BE USED
  421. AT ONE'S OWN RISK.
  422.  
  423. This disclaimer is included to absolve me from legal issues brought about
  424. by today's litigious society.
  425.